class CustomErrorC():

    def __init__(self, error_code, error_msg, extra_msg = ""):
        self.error_code = error_code
        self.error_msg = error_msg
        self.extra_msg = extra_msg

    def get_error(self):
        if self.extra_msg:
            return self.error_code + ":" + self.error_msg + ":" + self.extra_msg
        return self.error_code+":"+self.error_msg

class CustomError():
    Error_EQ03001000_Cannot_Find_Element = CustomErrorC("EQ3001000","元素查找，找不到元素")
    Error_EQ03001001_XPath_Invalid = CustomErrorC("EQ3001001","元素查找，XPath无效")
    Error_EQ03001002_Find_Type_Invalid = CustomErrorC("EQ3001002","元素查找，查找方式不正确")
    Error_EQ03001003_Not_On_Page = CustomErrorC("EQ03001003","元素查找，元素不在当前页面")
    Error_EQ03001004_InCorrect_Type = CustomErrorC("EQ3001004","元素查找，查找到的元素类型不正确")
    Error_EQ03001005_Not_Visible = CustomErrorC("EQ3001005","元素操作，元素不可见")
    Error_EQ03001006_Find_More = CustomErrorC("EQ3001006", "元素操作，查找到多个元素")
    Error_EQ03001007_Element_Was_Refreshed = CustomErrorC("EQ3001007", "元素操作，元素被刷新")
    Error_EQ03001008_Refresh_Timeout = CustomErrorC("EQ3001008", "元素操作，元素刷新超时")
    Error_EQ03001009_Cannot_Operation = CustomErrorC("EQ3001009", "元素操作，元素不可操作")

    Error_EQ03002000_Module_Not_Found_Error = CustomErrorC("EQ3002000","导入模块，找不到指定模块")
    Error_EQ03002001_Module_AttributeError = CustomErrorC("EQ3002001","导入模块，找不到模块下的方法")
    Error_EQ03003000_Window_Control_Not_Found = CustomErrorC("EQ3003001","客户端操作，不能找到窗口或者控件")
    Error_EQ03004000_Not_File_Path = CustomErrorC("EQ3004000","文件操作，文件路径不正确")
    Error_EQ03005000_Browser_Type_InCorrect = CustomErrorC("EQ03005000","浏览器操作，浏览器类型不正确")


    Error_EQ03007000_Table_Not_Delete_Data = CustomErrorC("EQ03007000","表格操作，数据未成功删除")
    Error_EQ03007001_Table_Not_Find_Correct_Column = CustomErrorC("EQ03007001","表格操作，没有找到符合要求的列")
    Error_EQ03007002_Table_Verify_Data_Fail = CustomErrorC("EQ03007002","表格操作，数据校验失败")
    Error_EQ03007003_Table_Not_Find_Correct_Row = CustomErrorC("EQ03007003", "表格操作，没有找到符合要求的行")####
    Error_EQ03007004_Table_Compare_Rows_Faile = CustomErrorC("EQ03007004", "表格检查，行数不正确")
    Error_EQ03007005_Table_No_Data_In_Table = CustomErrorC("EQ03007005", "表格操作，表格无数据")
    Error_EQ03007006_Table_Data_Not_Correct = CustomErrorC("EQ03007006", "表格检查，表格数据不正确")
    Error_EQ03007007_Table_Header_Not_Correct = CustomErrorC("EQ03007007", "表格操作，表头信息不正确")
    Error_EQ03007008_Table_Parameter_InCorrect = CustomErrorC("EQ03007008", "表格操作，参数中行号不正确")
    Error_EQ03007009_Table_No_Table = CustomErrorC("EQ03007009", "表格操作，未找到表格")
    Error_EQ03007010_Table_Cant_Fill = CustomErrorC("EQ03007010", "表格操作，单元格不可填充")
    Error_EQ03007011_Table_Cant_Find_Correct_Cell = CustomErrorC("EQ03007011", "表格操作，没有找到符合要求的单元格")
    Error_EQ03007012_Table_Cant_Find_Element = CustomErrorC("EQ03007012", "表格操作，没有找到符合要求的控件")


    Error_EQ03008000_Expected_Data_Is_Empty = CustomErrorC("EQ03008000", "参数，期望数据，期望数据为空")
    Error_EQ03008001_Parameter_InCorrect = CustomErrorC("EQ03008001", "参数，参数格式不正确")
    Error_EQ03008002_Parameter_Content_InCorrect = CustomErrorC("EQ03008001", "参数，参数不符合要求")

    Error_EQ03009000_Form_Check = CustomErrorC("EQ03009000", "表单操作，表单检查")

    Error_EQ03010000_Verify_Data = CustomErrorC("EQ03010000", "数据检查，数据不符合要求")
    Error_EQ03010001_Verify_Expect_Actual_Not_Equal = CustomErrorC("EQ03010001", "数据检查，期望值与实际值不符")
    Error_EQ03010002_Verify_Expect_Actual_Equal = CustomErrorC("EQ03010001", "数据检查，期望值与实际值相符")
    Error_EQ03010003_Verify_Data_InCorrect = CustomErrorC("EQ03010003", "数据检查，数据校验失败")


    Error_EQ03011001_Calendar_Default_Data_InCorrect = CustomErrorC("EQ03011001", "日历操作，默认值校验失败")
    Error_EQ03011001_Calendar_Not_Default_Data_InCorrect = CustomErrorC("EQ03011002", "日历操作，非空校验不通过")

    Error_EQ03012001_CheckBox_Default_Data_InCorrect = CustomErrorC("EQ03012001", "复选框操作，默认值校验失败")


    Error_EQ03013000_Input_Check = CustomErrorC("EQ03013000", "输入框操作，输入框检查")

    Error_EQ03014000_Message_Fail_Close = CustomErrorC("EQ03014000", "消息框操作，消息框关闭失败")

    Error_EQ03015000_Radio_Default_Data_InCorrect = CustomErrorC("EQ03015000", "单选框操作，默认值校验失败")

    Error_EQ03016000_Select_No_Data = CustomErrorC("EQ03016000", "下拉框操作，下拉框中没有数据")
    Error_EQ03016001_Select_Verify_Fail = CustomErrorC("EQ03016001", "下拉框操作，数据校验失败")

    Error_EQ0301700_Select_Tree_No_Data = CustomErrorC("EQ0301700", "树形下拉框操作，树型下拉框中没有数据")
    Error_EQ0301701_Select_Tree_Verify_Fail = CustomErrorC("EQ0301701", "树形下拉框操作，数据校验失败")

    Error_EQ0301800_TextArea_Verify_Fail = CustomErrorC("EQ0301800", "富文本框操作，数据校验失败")
    Error_EQ0301801_TextArea_Expect_Actual_Not_Match = CustomErrorC("EQ0301801", "富文本框操作，期望值和实际值不符")


    Error_EQ0301900_Timer_Parameter_InCorrect = CustomErrorC("EQ0301900", "时间控件操作，参数格式不正确")
    Error_EQ0301901_Timer_No_Control = CustomErrorC("EQ0301901", "时间控件操作，未找到控件")
    Error_EQ0301902_Timer_Verify_Fail = CustomErrorC("EQ0301902", "时间控件操作，校验失败")

    Error_EQ0302000_Tree_Node_Not_Exist = CustomErrorC("EQ0302002", "树形控件操作，节点不存在")
    Error_EQ0302002_Tree_Node_Operation = CustomErrorC("EQ0302002", "树形控件操作，节点未打开")

    Error_EQ0302102_Tree_Grid_Cannot_Find = CustomErrorC("EQ0302102", "Tree Grid控件操作，未找到控件")

    Error_EQ0302200_Type_Field_Default_Check = CustomErrorC("EQ0302200", "Type Field控件操作，默认值检查失败")
    Error_EQ0302201_Type_Field_Verify_Fail = CustomErrorC("EQ0302201", "Type Field控件操作，校验失败")

    Error_EQ0302301_Window_Not_Exist = CustomErrorC("EQ0302301", "切换窗口，新窗口不存在")


    Error_EQ0305000_interface = CustomErrorC("EQ0305000", "接口操作，请求失败")
    Error_EQ0305001_interface_get_app_device_list = CustomErrorC("EQ0305001", "获取的设备信息有误")
    Error_EQ0305002_testin_occupy_deviece = CustomErrorC("EQ0305002", "占用设备失败")
    Error_EQ0305003_testin_release_deviece = CustomErrorC("EQ0305003", "设备未成功释放")
    Error_EQ0305004_testin_upload_application = CustomErrorC("EQ0305004", "上传app失败")
    Error_EQ0305005_testin_browser_busy = CustomErrorC("EQ0305005", "云测接口，没有空闲的web")
    Error_EQ0305006_testin_web_execute = CustomErrorC("EQ0305006", "云测接口，web端立即执行任务失败")
    Error_EQ0305007_testin_web_execute_get_status = CustomErrorC("EQ0305007", "云测接口，web脚本执行，获取脚本结果有误")
    Error_EQ0305008_testin_web_execute_get_status = CustomErrorC("EQ0305008", "云测接口，web脚本执行，获取任务执行状态有误")
    Error_EQ0305009_testin_web_get_sid = CustomErrorC("EQ0305009", "云测接口，web脚本执行，没有获取到web执行任务的sid")

    Error_EQ0306000_others_data_not_correct = CustomErrorC("EQ0306000", "数据/元素不正确")


